Cos'è normalizzazione database?

La normalizzazione del database è un processo di organizzazione dei dati in un database per ridurre la ridondanza dei dati e migliorare l'integrità dei dati. Implica la divisione di un database in due o più tabelle e la definizione di relazioni tra le tabelle. L'obiettivo è isolare i dati in modo che le modifiche a un attributo vengano apportate in una sola posizione.

Benefici della Normalizzazione:

  • Riduzione della ridondanza dei dati: Elimina la duplicazione dei dati, risparmiando spazio di archiviazione e migliorando la coerenza.
  • Miglioramento dell'integrità dei dati: Garantisce che i dati siano accurati e coerenti, riducendo le anomalie di aggiornamento, inserimento ed eliminazione.
  • Semplicità nella query: Facilita la creazione di query più semplici e veloci.
  • Maggiore flessibilità: Rende il database più adattabile ai cambiamenti dei requisiti aziendali.

Forme Normali (Normal Forms):

La normalizzazione è spesso descritta in termini di forme normali. Ogni forma normale rappresenta un insieme di regole che una tabella deve rispettare per essere considerata conforme a quella forma. Le forme normali più comuni sono:

Dipendenze Funzionali:

Il concetto di dipendenza funzionale è fondamentale per comprendere la normalizzazione. Una dipendenza funzionale si verifica quando il valore di un attributo determina il valore di un altro attributo. Ad esempio, se il numero di matricola determina il nome dello studente, c'è una dipendenza funzionale da numero di matricola a nome dello studente.

De-normalizzazione:

In alcuni casi, la de-normalizzazione, cioè il processo opposto alla normalizzazione, può essere utilizzata per migliorare le prestazioni del database, introducendo ridondanza controllata. Questo può essere utile quando le query richiedono unire molte tabelle normalizzate.